/*
 * Copyright 2010-2013 Susanta Tewari. <freecode4susant@users.sourceforge.net>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package genomemap.cef.pui;

import cef.pui.ComputeOrderModelLHood_EvtImpl;
import cef.pui.EventConstructionException;
import genomemap.data.KSA00Data;
import genomemap.data.TAB08Data;

import java.util.Properties;

import static cef.pui.pob.Builders.of_List_String;
import static genomemap.cef.pui.pob.Builders_Gen.*;

/**
 * @author Susanta Tewari
 * @version version
 * @history Created on 11/20/13.
 * @since since
 */
public class ComputeOrderModelLHood_EvtImpls {

    /**
     * Implements {@code ComputeKSA00Likelihood_Evt} using the following properties. <ul> <li>{@code
     * genomemap.builder.KSA00Data.url = ksa00data:xml//URL }<a href="genomemap/cef/pui/pob/doc-files/ksa00-data.xml.txt">file
     * format</a>, must accompany the <a href="genomemap/cef/pui/pob/doc-files/KSA00Data.xsd.txt">schema</a></li>
     * <li>{@code genomemap.builder.KSA00Lhood.implCode = ksa00:1}</li> </ul>
     *
     * @author Susanta Tewari
     * @version 1.0.0
     * @history Created on 05/07/2011
     * @since 1.0.0
     */
    public static final class KSA00
            extends ComputeOrderModelLHood_EvtImpl<String, genomemap.model.KSA00, KSA00Data> {

        public KSA00(final Properties props) throws EventConstructionException {

            super( //J-
                    props,

                    of_Data_KSA00_File(props, null),

                    of_LHoodComputer_KSA00(props, null),

                    of_List_String(props, "userOrder", null)
            );//J+


            super.processEventProperties(getImplementedEventInterfaces());
        }
    }

    /**
     * Implements {@code ComputeModelLHoodEvent} using the following properties.
     * <ul>
     *     <li>{@code genomemap.builder.TAB08Data.url = tab08data:xml//URL }<a href="genomemap/cef/pui/pob/doc-files/tab08-data.xml.txt">file format</a>, must accompany the <a href="genomemap/cef/pui/pob/doc-files/TAB08Data.xsd.txt">schema</a></li>
     *     <li>{@code genomemap.builder.TAB08Lhood.implCode = tab08:rla | tab08:sfa}</li>
     * </ul>
     *
     * @author Susanta Tewari
     * @version 1.0.0
     * @history Created on 05/08/2011
     * @since 1.0.0
     */
    public static final class TAB08
            extends ComputeOrderModelLHood_EvtImpl<String, genomemap.model.TAB08, TAB08Data> {

        public TAB08(final Properties props) throws EventConstructionException {

            super( //J-
                   props,

                   of_Data_TAB08_File(props, null),

                   of_LHoodComputer_TAB08(props, null),

                   of_List_String(props, "userOrder", null)
            );//J+


            super.processEventProperties(getImplementedEventInterfaces());
        }
    }
}
